With the advent of computer networking today, it is quite easy for several communication devices to communicate via a wired or a wireless network or system. These communication devices communicate with each other using various wired or wireless protocols to exchange data or other media over one or more communication channels in the network. Typically, a communication network has a limited number of communication channels. Also the communication channels usually have a fixed bandwidth and, therefore, can only support a limited amount of media. Thus, communicating an excess amount of media over such limited communication resources results in congestion, which could further spiral into a congestion collapse in the network, which is a phenomenon wherein network bandwidth is consumed with useless retransmissions, and overall utility of the communication channels for completed media transmissions is reduced to zero or nearly zero for all media flows including low and high priority flows as well as real time and non-real time flows.
A known approach to congestion control in a communication network is a transmission control protocol (TCP) approach. This approach attempts to maximize overall channel utility by allocating resources evenly among connections. More particularly, the TCP approach avoids a congestion collapse by employing a cooperative model, wherein transmitting devices detect congestion in the network by measuring end-to-end packet loss rates and decrease their transmission rates accordingly. The cooperative model allows the network to provide at least some network resource utility for TCP traffic flows, which are non-real time flows that have a utility function that is monotonically increasing, concave, equal, and continuous and that can continue to be transmitted even at a reduced rate. However, the TCP approach does not work well for inelastic flows, which have differently-shaped utility functions (namely discontinuous step functions) and which cannot reduce bandwidth below a minimum bandwidth as constrained by physical limitations of the transmitting device such as a codec that is constrained to one or more fixed bit rates. With inelastic flows, if a “fair share” allocation is used, then it is likely that the reduced bandwidth allocation due to congestion in the network will be below the minimum required throughput for most of these flows, and overall utility could many times decrease to zero or nearly zero for this type of traffic.
Accordingly, there is a need for a method of congestion control in a communication network that is also effective for inelastic flows.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.